package com.charging.system.domain;

import java.math.BigDecimal;

import com.charging.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.charging.common.annotation.Excel;

/**
 * 充电规则对象 kx_charging_scheme
 *
 * @author charging
 * @date 2024-04-19
 */
public class KxChargingScheme extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 充电规则ID */
    private Long chargingSchemeId;

    /** 充电规则名称 */
    @Excel(name = "充电规则名称")
    private String schemeName;

    /** 计费类型（1二轮,2四轮） */
    @Excel(name = "计费类型", readConverterExp = "1=二轮,2四轮")
    private Integer type;

    /** 最大充电时长 */
    @Excel(name = "最大充电时长")
    private Integer maxChargingTime;

    /** 电价成本 */
    @Excel(name = "电价成本")
    private BigDecimal eleCost;

    /** 起充价格 */
    @Excel(name = "起充价格")
    private BigDecimal startPrice;

    /** 按度充电价格 */
    @Excel(name = "按度充电价格")
    private BigDecimal degreePrice;

    /** 是否最大功率 */
    @Excel(name = "是否最大功率")
    private Integer isMaxPower;

    /** 是否小时计费 */
    @Excel(name = "是否小时计费")
    private Integer isHourCharging;

    /** 是否后付款 */
    @Excel(name = "是否后付款")
    private Integer isPayLater;

    /** 显示顺序 */
    private Integer roleSort;

    /** 方案详细 */
    @Excel(name = "方案详细")
    private String schemeDetailed;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setChargingSchemeId(Long chargingSchemeId)
    {
        this.chargingSchemeId = chargingSchemeId;
    }

    public Long getChargingSchemeId()
    {
        return chargingSchemeId;
    }
    public void setSchemeName(String schemeName)
    {
        this.schemeName = schemeName;
    }

    public String getSchemeName()
    {
        return schemeName;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setMaxChargingTime(Integer maxChargingTime)
    {
        this.maxChargingTime = maxChargingTime;
    }

    public Integer getMaxChargingTime()
    {
        return maxChargingTime;
    }
    public void setEleCost(BigDecimal eleCost)
    {
        this.eleCost = eleCost;
    }

    public BigDecimal getEleCost()
    {
        return eleCost;
    }
    public void setStartPrice(BigDecimal startPrice)
    {
        this.startPrice = startPrice;
    }

    public BigDecimal getStartPrice()
    {
        return startPrice;
    }
    public void setDegreePrice(BigDecimal degreePrice)
    {
        this.degreePrice = degreePrice;
    }

    public BigDecimal getDegreePrice()
    {
        return degreePrice;
    }
    public void setIsMaxPower(Integer isMaxPower)
    {
        this.isMaxPower = isMaxPower;
    }

    public Integer getIsMaxPower()
    {
        return isMaxPower;
    }
    public void setIsHourCharging(Integer isHourCharging)
    {
        this.isHourCharging = isHourCharging;
    }

    public Integer getIsHourCharging()
    {
        return isHourCharging;
    }
    public void setIsPayLater(Integer isPayLater)
    {
        this.isPayLater = isPayLater;
    }

    public Integer getIsPayLater()
    {
        return isPayLater;
    }
    public void setRoleSort(Integer roleSort)
    {
        this.roleSort = roleSort;
    }

    public Integer getRoleSort()
    {
        return roleSort;
    }
    public void setSchemeDetailed(String schemeDetailed)
    {
        this.schemeDetailed = schemeDetailed;
    }

    public String getSchemeDetailed()
    {
        return schemeDetailed;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("chargingSchemeId", getChargingSchemeId())
            .append("schemeName", getSchemeName())
            .append("type", getType())
            .append("maxChargingTime", getMaxChargingTime())
            .append("eleCost", getEleCost())
            .append("startPrice", getStartPrice())
            .append("degreePrice", getDegreePrice())
            .append("isMaxPower", getIsMaxPower())
            .append("isHourCharging", getIsHourCharging())
            .append("isPayLater", getIsPayLater())
            .append("roleSort", getRoleSort())
            .append("schemeDetailed", getSchemeDetailed())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
